The present invention relates to apparatus for accessing, from a remote source, data defining a graphical representation of a virtual environment, with the user being enabled to select one from a plurality of available virtual environments and the apparatus having means for rendering a display of the selected virtual environment from one or more viewpoints.
A description of a service providing a virtual environment (or cyber-space) accessible by remote users is given in European patent application EP-A-0 697 613 (Sony Corp.). The system described includes a server providing a virtual reality space, and user terminals connected to the server via a high-speed communications network (using optical fibers or the like). In operation, the server maintains a number of virtual environments and supports many differing terminal types by the use of conversion objects between information objects and user objects: the conversion objects provide individually tailored translation for communications back and forth between each type of terminal and each configuration of virtual environment supported.
A particular benefit arises when the format of data storage and representation for virtual environments is at least partially standardized, allowing for greater interchange between systems of different manufacturers as well as a reduction in the necessity for individually tailored translation utilities. With at least partial standardization, the necessary configuration of a browser for accessing such data, whether in a hardware or software implementation or a mixture of the two, becomes simpler.
A notable example of standardization in the field of data defining virtual environments is the so-called Virtual Reality Modeling Language (VRML) as described, for example, in the VRML standard, version 2.0, issued as ISO/IEC WD14772 on Aug. 4th 1996. VRML is a file format for describing interactive three-dimensional objects and worlds to be experienced on the Internet/World Wide Web and it is generally analogous to the way HTML (HyperText Markup Language) is used to describe documents for transmission over the Internet. A number of examples of VRML browsers are discussed in xe2x80x9cBuilding VRML Worldsxe2x80x9d by E. Tittel et al, published by McGraw Hill 1997, ISBN 0-07-882233-5, at pages 26 to 31. The functionalities of the different browsers, over and above the basic required for conformity, depend to a large extent on their target host system and the likely uses of the same, as well as whether they are purpose-built/written or whether they are modifications of earlier utilities.
It is an object of the present invention to provide a user operable means for browsing data defining a virtual environment and rendering a view of the same, having improved efficiency in the handling of data obtained from one or more remote sources for use in the generation of representations of virtual environments.
In accordance with the present invention there is provided a data processing apparatus configured as a virtual environment data browser, the apparatus comprising a processor coupled with at least first storage means and data network interface means capable of receiving data defining a virtual environment and objects therein when coupled to a data network including a source of such data, the apparatus further comprising user input means and being configured to periodically generate an image based on said data defining the virtual environment and objects and from a viewpoint at a location and with an orientation in said virtual environment determined at least partially by input from said user input means; characterized in that further storage means are provided with the apparatus further comprising memory management means configured to place in said further storage means a copy of each data file received via the network, to check within said further storage means for data files before calling for them via the network, and to determine both required and available data storage capacity for at least the first and further storage means of the apparatus and, when the required capacity exceeds a predetermined level, to clear from said further storage means those data files also passed to the first storage means.
Since accesses to remotely-stored virtual environments will typically involve downloading of a number of related data files (for example texture files for all surfaces which may be encountered within the virtual environment) and not all such files will be required at any given time, by providing the further memory (which may be a partitioned area of the first) to hold copies of received files, access times may be reduced through checking whether a local copy of a required file already exists in the further storage means before calling for it from across the network. To ensure that the duplication of locally held copies of those files also passed to the first memory means when required for rendering does not require unrealistically large amounts of available memory, the apparatus memory manager means not only detects when memory fullness is reaching critical levels, but also determines which duplicate files may be deleted to free memory by identification of those already passed to the first memory whose continued usefulness has thereby become suspect.
As a feature of its operation, the memory management means is suitably configured to maintain and periodically update a table identifying, as respective entries in the table, data files required for generation of said image. In this table of data file entries, the memory management means may record, for each table entry, an indication of the respective data files source: for data files held within one or other area of memory of the apparatus, this indication of the respective data files source may comprise a memory address for the data file, wherein for data files held at remote locations accessible via said data network, the indication of the respective data files source may comprises a network address and such accessing information (for example full title, passwords etc.) as is required for acquiring that data file from its respective remote location.
In addition to the foregoing, the memory management means may also include in the table (for each entry) an indication as to whether or not the respective data file has been stored in the first storage means, that is to say whether it has actually been called up for use by the browser. As mentioned above, the memory manager not only detects when memory fullness is reaching critical levels (indicated when the current memory use is in the range of 60 to 100% of available storage capacity) but also determines which files may be deleted from the further storage means to free memory (for example when memory fullness is 90% of available storage capacity). The determination of which files to clear may simply be made by checking the indicators for whether or not the data files have been stored in the first storage means.